// 任务相关API接口
import request from '../request'

export default {
  // 获取任务列表
  getTaskList(params) {
    return request.get('/task/list', params)
  },
  
  // 获取任务详情
  getTaskDetail(id) {
    return request.get(`/task/${id}`)
  },
  
  // 创建任务
  createTask(data) {
    return request.post('/task/create', data)
  },
  
  // 更新任务
  updateTask(id, data) {
    return request.put(`/task/${id}`, data)
  },
  
  // 删除任务
  deleteTask(id) {
    return request.delete(`/task/${id}`)
  },
  
  // 接受任务
  acceptTask(id) {
    return request.post(`/task/${id}/accept`)
  },
  
  // 完成任务
  completeTask(id, data) {
    return request.post(`/task/${id}/complete`, data)
  },
  
  // 取消任务
  cancelTask(id, reason) {
    return request.post(`/task/${id}/cancel`, { reason })
  },
  
  // 重新分配任务
  reassignTask(id, data) {
    return request.post(`/task/${id}/reassign`, data)
  },
  
  // 获取任务统计
  getTaskStats(params) {
    return request.get('/task/stats', params)
  },
  
  // 获取任务类型
  getTaskTypes() {
    return request.get('/task/types')
  },
  
  // 获取任务优先级
  getTaskPriorities() {
    return request.get('/task/priorities')
  },
  
  // 获取任务状态
  getTaskStatuses() {
    return request.get('/task/statuses')
  },
  
  // 获取我的任务
  getMyTasks(params) {
    return request.get('/task/my-tasks', params)
  },
  
  // 获取今日任务
  getTodayTasks() {
    return request.get('/task/today')
  },
  
  // 获取待办任务
  getPendingTasks(params) {
    return request.get('/task/pending', params)
  },
  
  // 获取已完成任务
  getCompletedTasks(params) {
    return request.get('/task/completed', params)
  },
  
  // 批量操作任务
  batchTask(data) {
    return request.post('/task/batch', data)
  },
  
  // 导出任务数据
  exportTasks(params) {
    return request.get('/task/export', params)
  },
  
  // 获取任务历史
  getTaskHistory(id, params) {
    return request.get(`/task/${id}/history`, params)
  },
  
  // 添加任务评论
  addTaskComment(id, data) {
    return request.post(`/task/${id}/comments`, data)
  },
  
  // 获取任务评论
  getTaskComments(id, params) {
    return request.get(`/task/${id}/comments`, params)
  }
} 